package com.weimin.ghostdrop.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weimin.ghostdrop.entity.Software;
import com.weimin.ghostdrop.entity.dto.SoftwareDTO;
import com.weimin.ghostdrop.entity.vo.SoftwareDetailVO;
import com.weimin.ghostdrop.entity.vo.SoftwareListVO;

/**
* @author huimin
* @description 针对表【software(软件信息表)】的数据库操作Service
* @createDate 2025-10-11 10:32:07
*/
public interface SoftwareService extends IService<Software> {
    // 新增，返回主键ID，同时写入 images 与 links
    Integer createSoftware(SoftwareDTO dto);

    // 修改：覆盖基础信息；若提供 images/links 则覆盖更新
    void updateSoftware(Integer id, SoftwareDTO dto);

    // 删除：级联删除 images 与 links
    void deleteSoftware(Integer id);

    // 分页（含主图），支持可选 title/code 模糊
    IPage<SoftwareListVO> pageWithCover(Page<?> page, String title, String code);

    // 详情：software 全字段 + 全部图片URL
    SoftwareDetailVO detail(Integer id);
}
